/*
 * XML Type:  XFont
 * Namespace: http://www.seedwill.com/xul/widget/
 * Java type: com.seedwill.xul.widget.XFont
 *
 * Automatically generated - do not modify.
 */
package com.seedwill.xul.widget.impl;
/**
 * An XML XFont(@http://www.seedwill.com/xul/widget/).
 *
 * This is a complex type.
 */
public class XFontImpl extends com.seedwill.xul.core.impl.XIdentifiedImpl implements com.seedwill.xul.widget.XFont
{
    private static final long serialVersionUID = 1L;
    
    public XFontImpl(org.apache.xmlbeans.SchemaType sType)
    {
        super(sType);
    }
    
    private static final javax.xml.namespace.QName SIZE$0 = 
        new javax.xml.namespace.QName("", "size");
    private static final javax.xml.namespace.QName UNIT$2 = 
        new javax.xml.namespace.QName("", "unit");
    private static final javax.xml.namespace.QName BORDER$4 = 
        new javax.xml.namespace.QName("", "border");
    private static final javax.xml.namespace.QName GDICHARSET$6 = 
        new javax.xml.namespace.QName("", "gdiCharset");
    private static final javax.xml.namespace.QName GDIVERTICALFONT$8 = 
        new javax.xml.namespace.QName("", "gdiVerticalFont");
    private static final javax.xml.namespace.QName REGULAR$10 = 
        new javax.xml.namespace.QName("", "regular");
    private static final javax.xml.namespace.QName ITALIC$12 = 
        new javax.xml.namespace.QName("", "italic");
    private static final javax.xml.namespace.QName BOLD$14 = 
        new javax.xml.namespace.QName("", "bold");
    private static final javax.xml.namespace.QName STRIKEOUT$16 = 
        new javax.xml.namespace.QName("", "strikeout");
    private static final javax.xml.namespace.QName UNDERLINE$18 = 
        new javax.xml.namespace.QName("", "underline");
    private static final javax.xml.namespace.QName COLOR$20 = 
        new javax.xml.namespace.QName("", "color");
    
    
    /**
     * Gets the "size" attribute
     */
    public int getSize()
    {
        synchronized (monitor())
        {
            check_orphaned();
            org.apache.xmlbeans.SimpleValue target = null;
            target = (org.apache.xmlbeans.SimpleValue)get_store().find_attribute_user(SIZE$0);
            if (target == null)
            {
                return 0;
            }
            return target.getIntValue();
        }
    }
    
    /**
     * Gets (as xml) the "size" attribute
     */
    public org.apache.xmlbeans.XmlInt xgetSize()
    {
        synchronized (monitor())
        {
            check_orphaned();
            org.apache.xmlbeans.XmlInt target = null;
            target = (org.apache.xmlbeans.XmlInt)get_store().find_attribute_user(SIZE$0);
            return target;
        }
    }
    
    /**
     * True if has "size" attribute
     */
    public boolean isSetSize()
    {
        synchronized (monitor())
        {
            check_orphaned();
            return get_store().find_attribute_user(SIZE$0) != null;
        }
    }
    
    /**
     * Sets the "size" attribute
     */
    public void setSize(int size)
    {
        synchronized (monitor())
        {
            check_orphaned();
            org.apache.xmlbeans.SimpleValue target = null;
            target = (org.apache.xmlbeans.SimpleValue)get_store().find_attribute_user(SIZE$0);
            if (target == null)
            {
                target = (org.apache.xmlbeans.SimpleValue)get_store().add_attribute_user(SIZE$0);
            }
            target.setIntValue(size);
        }
    }
    
    /**
     * Sets (as xml) the "size" attribute
     */
    public void xsetSize(org.apache.xmlbeans.XmlInt size)
    {
        synchronized (monitor())
        {
            check_orphaned();
            org.apache.xmlbeans.XmlInt target = null;
            target = (org.apache.xmlbeans.XmlInt)get_store().find_attribute_user(SIZE$0);
            if (target == null)
            {
                target = (org.apache.xmlbeans.XmlInt)get_store().add_attribute_user(SIZE$0);
            }
            target.set(size);
        }
    }
    
    /**
     * Unsets the "size" attribute
     */
    public void unsetSize()
    {
        synchronized (monitor())
        {
            check_orphaned();
            get_store().remove_attribute(SIZE$0);
        }
    }
    
    /**
     * Gets the "unit" attribute
     */
    public com.seedwill.xul.core.XUnit.Enum getUnit()
    {
        synchronized (monitor())
        {
            check_orphaned();
            org.apache.xmlbeans.SimpleValue target = null;
            target = (org.apache.xmlbeans.SimpleValue)get_store().find_attribute_user(UNIT$2);
            if (target == null)
            {
                return null;
            }
            return (com.seedwill.xul.core.XUnit.Enum)target.getEnumValue();
        }
    }
    
    /**
     * Gets (as xml) the "unit" attribute
     */
    public com.seedwill.xul.core.XUnit xgetUnit()
    {
        synchronized (monitor())
        {
            check_orphaned();
            com.seedwill.xul.core.XUnit target = null;
            target = (com.seedwill.xul.core.XUnit)get_store().find_attribute_user(UNIT$2);
            return target;
        }
    }
    
    /**
     * True if has "unit" attribute
     */
    public boolean isSetUnit()
    {
        synchronized (monitor())
        {
            check_orphaned();
            return get_store().find_attribute_user(UNIT$2) != null;
        }
    }
    
    /**
     * Sets the "unit" attribute
     */
    public void setUnit(com.seedwill.xul.core.XUnit.Enum unit)
    {
        synchronized (monitor())
        {
            check_orphaned();
            org.apache.xmlbeans.SimpleValue target = null;
            target = (org.apache.xmlbeans.SimpleValue)get_store().find_attribute_user(UNIT$2);
            if (target == null)
            {
                target = (org.apache.xmlbeans.SimpleValue)get_store().add_attribute_user(UNIT$2);
            }
            target.setEnumValue(unit);
        }
    }
    
    /**
     * Sets (as xml) the "unit" attribute
     */
    public void xsetUnit(com.seedwill.xul.core.XUnit unit)
    {
        synchronized (monitor())
        {
            check_orphaned();
            com.seedwill.xul.core.XUnit target = null;
            target = (com.seedwill.xul.core.XUnit)get_store().find_attribute_user(UNIT$2);
            if (target == null)
            {
                target = (com.seedwill.xul.core.XUnit)get_store().add_attribute_user(UNIT$2);
            }
            target.set(unit);
        }
    }
    
    /**
     * Unsets the "unit" attribute
     */
    public void unsetUnit()
    {
        synchronized (monitor())
        {
            check_orphaned();
            get_store().remove_attribute(UNIT$2);
        }
    }
    
    /**
     * Gets the "border" attribute
     */
    public boolean getBorder()
    {
        synchronized (monitor())
        {
            check_orphaned();
            org.apache.xmlbeans.SimpleValue target = null;
            target = (org.apache.xmlbeans.SimpleValue)get_store().find_attribute_user(BORDER$4);
            if (target == null)
            {
                target = (org.apache.xmlbeans.SimpleValue)get_default_attribute_value(BORDER$4);
            }
            if (target == null)
            {
                return false;
            }
            return target.getBooleanValue();
        }
    }
    
    /**
     * Gets (as xml) the "border" attribute
     */
    public org.apache.xmlbeans.XmlBoolean xgetBorder()
    {
        synchronized (monitor())
        {
            check_orphaned();
            org.apache.xmlbeans.XmlBoolean target = null;
            target = (org.apache.xmlbeans.XmlBoolean)get_store().find_attribute_user(BORDER$4);
            if (target == null)
            {
                target = (org.apache.xmlbeans.XmlBoolean)get_default_attribute_value(BORDER$4);
            }
            return target;
        }
    }
    
    /**
     * True if has "border" attribute
     */
    public boolean isSetBorder()
    {
        synchronized (monitor())
        {
            check_orphaned();
            return get_store().find_attribute_user(BORDER$4) != null;
        }
    }
    
    /**
     * Sets the "border" attribute
     */
    public void setBorder(boolean border)
    {
        synchronized (monitor())
        {
            check_orphaned();
            org.apache.xmlbeans.SimpleValue target = null;
            target = (org.apache.xmlbeans.SimpleValue)get_store().find_attribute_user(BORDER$4);
            if (target == null)
            {
                target = (org.apache.xmlbeans.SimpleValue)get_store().add_attribute_user(BORDER$4);
            }
            target.setBooleanValue(border);
        }
    }
    
    /**
     * Sets (as xml) the "border" attribute
     */
    public void xsetBorder(org.apache.xmlbeans.XmlBoolean border)
    {
        synchronized (monitor())
        {
            check_orphaned();
            org.apache.xmlbeans.XmlBoolean target = null;
            target = (org.apache.xmlbeans.XmlBoolean)get_store().find_attribute_user(BORDER$4);
            if (target == null)
            {
                target = (org.apache.xmlbeans.XmlBoolean)get_store().add_attribute_user(BORDER$4);
            }
            target.set(border);
        }
    }
    
    /**
     * Unsets the "border" attribute
     */
    public void unsetBorder()
    {
        synchronized (monitor())
        {
            check_orphaned();
            get_store().remove_attribute(BORDER$4);
        }
    }
    
    /**
     * Gets the "gdiCharset" attribute
     */
    public java.lang.String getGdiCharset()
    {
        synchronized (monitor())
        {
            check_orphaned();
            org.apache.xmlbeans.SimpleValue target = null;
            target = (org.apache.xmlbeans.SimpleValue)get_store().find_attribute_user(GDICHARSET$6);
            if (target == null)
            {
                return null;
            }
            return target.getStringValue();
        }
    }
    
    /**
     * Gets (as xml) the "gdiCharset" attribute
     */
    public org.apache.xmlbeans.XmlString xgetGdiCharset()
    {
        synchronized (monitor())
        {
            check_orphaned();
            org.apache.xmlbeans.XmlString target = null;
            target = (org.apache.xmlbeans.XmlString)get_store().find_attribute_user(GDICHARSET$6);
            return target;
        }
    }
    
    /**
     * True if has "gdiCharset" attribute
     */
    public boolean isSetGdiCharset()
    {
        synchronized (monitor())
        {
            check_orphaned();
            return get_store().find_attribute_user(GDICHARSET$6) != null;
        }
    }
    
    /**
     * Sets the "gdiCharset" attribute
     */
    public void setGdiCharset(java.lang.String gdiCharset)
    {
        synchronized (monitor())
        {
            check_orphaned();
            org.apache.xmlbeans.SimpleValue target = null;
            target = (org.apache.xmlbeans.SimpleValue)get_store().find_attribute_user(GDICHARSET$6);
            if (target == null)
            {
                target = (org.apache.xmlbeans.SimpleValue)get_store().add_attribute_user(GDICHARSET$6);
            }
            target.setStringValue(gdiCharset);
        }
    }
    
    /**
     * Sets (as xml) the "gdiCharset" attribute
     */
    public void xsetGdiCharset(org.apache.xmlbeans.XmlString gdiCharset)
    {
        synchronized (monitor())
        {
            check_orphaned();
            org.apache.xmlbeans.XmlString target = null;
            target = (org.apache.xmlbeans.XmlString)get_store().find_attribute_user(GDICHARSET$6);
            if (target == null)
            {
                target = (org.apache.xmlbeans.XmlString)get_store().add_attribute_user(GDICHARSET$6);
            }
            target.set(gdiCharset);
        }
    }
    
    /**
     * Unsets the "gdiCharset" attribute
     */
    public void unsetGdiCharset()
    {
        synchronized (monitor())
        {
            check_orphaned();
            get_store().remove_attribute(GDICHARSET$6);
        }
    }
    
    /**
     * Gets the "gdiVerticalFont" attribute
     */
    public boolean getGdiVerticalFont()
    {
        synchronized (monitor())
        {
            check_orphaned();
            org.apache.xmlbeans.SimpleValue target = null;
            target = (org.apache.xmlbeans.SimpleValue)get_store().find_attribute_user(GDIVERTICALFONT$8);
            if (target == null)
            {
                return false;
            }
            return target.getBooleanValue();
        }
    }
    
    /**
     * Gets (as xml) the "gdiVerticalFont" attribute
     */
    public org.apache.xmlbeans.XmlBoolean xgetGdiVerticalFont()
    {
        synchronized (monitor())
        {
            check_orphaned();
            org.apache.xmlbeans.XmlBoolean target = null;
            target = (org.apache.xmlbeans.XmlBoolean)get_store().find_attribute_user(GDIVERTICALFONT$8);
            return target;
        }
    }
    
    /**
     * True if has "gdiVerticalFont" attribute
     */
    public boolean isSetGdiVerticalFont()
    {
        synchronized (monitor())
        {
            check_orphaned();
            return get_store().find_attribute_user(GDIVERTICALFONT$8) != null;
        }
    }
    
    /**
     * Sets the "gdiVerticalFont" attribute
     */
    public void setGdiVerticalFont(boolean gdiVerticalFont)
    {
        synchronized (monitor())
        {
            check_orphaned();
            org.apache.xmlbeans.SimpleValue target = null;
            target = (org.apache.xmlbeans.SimpleValue)get_store().find_attribute_user(GDIVERTICALFONT$8);
            if (target == null)
            {
                target = (org.apache.xmlbeans.SimpleValue)get_store().add_attribute_user(GDIVERTICALFONT$8);
            }
            target.setBooleanValue(gdiVerticalFont);
        }
    }
    
    /**
     * Sets (as xml) the "gdiVerticalFont" attribute
     */
    public void xsetGdiVerticalFont(org.apache.xmlbeans.XmlBoolean gdiVerticalFont)
    {
        synchronized (monitor())
        {
            check_orphaned();
            org.apache.xmlbeans.XmlBoolean target = null;
            target = (org.apache.xmlbeans.XmlBoolean)get_store().find_attribute_user(GDIVERTICALFONT$8);
            if (target == null)
            {
                target = (org.apache.xmlbeans.XmlBoolean)get_store().add_attribute_user(GDIVERTICALFONT$8);
            }
            target.set(gdiVerticalFont);
        }
    }
    
    /**
     * Unsets the "gdiVerticalFont" attribute
     */
    public void unsetGdiVerticalFont()
    {
        synchronized (monitor())
        {
            check_orphaned();
            get_store().remove_attribute(GDIVERTICALFONT$8);
        }
    }
    
    /**
     * Gets the "regular" attribute
     */
    public boolean getRegular()
    {
        synchronized (monitor())
        {
            check_orphaned();
            org.apache.xmlbeans.SimpleValue target = null;
            target = (org.apache.xmlbeans.SimpleValue)get_store().find_attribute_user(REGULAR$10);
            if (target == null)
            {
                return false;
            }
            return target.getBooleanValue();
        }
    }
    
    /**
     * Gets (as xml) the "regular" attribute
     */
    public org.apache.xmlbeans.XmlBoolean xgetRegular()
    {
        synchronized (monitor())
        {
            check_orphaned();
            org.apache.xmlbeans.XmlBoolean target = null;
            target = (org.apache.xmlbeans.XmlBoolean)get_store().find_attribute_user(REGULAR$10);
            return target;
        }
    }
    
    /**
     * True if has "regular" attribute
     */
    public boolean isSetRegular()
    {
        synchronized (monitor())
        {
            check_orphaned();
            return get_store().find_attribute_user(REGULAR$10) != null;
        }
    }
    
    /**
     * Sets the "regular" attribute
     */
    public void setRegular(boolean regular)
    {
        synchronized (monitor())
        {
            check_orphaned();
            org.apache.xmlbeans.SimpleValue target = null;
            target = (org.apache.xmlbeans.SimpleValue)get_store().find_attribute_user(REGULAR$10);
            if (target == null)
            {
                target = (org.apache.xmlbeans.SimpleValue)get_store().add_attribute_user(REGULAR$10);
            }
            target.setBooleanValue(regular);
        }
    }
    
    /**
     * Sets (as xml) the "regular" attribute
     */
    public void xsetRegular(org.apache.xmlbeans.XmlBoolean regular)
    {
        synchronized (monitor())
        {
            check_orphaned();
            org.apache.xmlbeans.XmlBoolean target = null;
            target = (org.apache.xmlbeans.XmlBoolean)get_store().find_attribute_user(REGULAR$10);
            if (target == null)
            {
                target = (org.apache.xmlbeans.XmlBoolean)get_store().add_attribute_user(REGULAR$10);
            }
            target.set(regular);
        }
    }
    
    /**
     * Unsets the "regular" attribute
     */
    public void unsetRegular()
    {
        synchronized (monitor())
        {
            check_orphaned();
            get_store().remove_attribute(REGULAR$10);
        }
    }
    
    /**
     * Gets the "italic" attribute
     */
    public boolean getItalic()
    {
        synchronized (monitor())
        {
            check_orphaned();
            org.apache.xmlbeans.SimpleValue target = null;
            target = (org.apache.xmlbeans.SimpleValue)get_store().find_attribute_user(ITALIC$12);
            if (target == null)
            {
                return false;
            }
            return target.getBooleanValue();
        }
    }
    
    /**
     * Gets (as xml) the "italic" attribute
     */
    public org.apache.xmlbeans.XmlBoolean xgetItalic()
    {
        synchronized (monitor())
        {
            check_orphaned();
            org.apache.xmlbeans.XmlBoolean target = null;
            target = (org.apache.xmlbeans.XmlBoolean)get_store().find_attribute_user(ITALIC$12);
            return target;
        }
    }
    
    /**
     * True if has "italic" attribute
     */
    public boolean isSetItalic()
    {
        synchronized (monitor())
        {
            check_orphaned();
            return get_store().find_attribute_user(ITALIC$12) != null;
        }
    }
    
    /**
     * Sets the "italic" attribute
     */
    public void setItalic(boolean italic)
    {
        synchronized (monitor())
        {
            check_orphaned();
            org.apache.xmlbeans.SimpleValue target = null;
            target = (org.apache.xmlbeans.SimpleValue)get_store().find_attribute_user(ITALIC$12);
            if (target == null)
            {
                target = (org.apache.xmlbeans.SimpleValue)get_store().add_attribute_user(ITALIC$12);
            }
            target.setBooleanValue(italic);
        }
    }
    
    /**
     * Sets (as xml) the "italic" attribute
     */
    public void xsetItalic(org.apache.xmlbeans.XmlBoolean italic)
    {
        synchronized (monitor())
        {
            check_orphaned();
            org.apache.xmlbeans.XmlBoolean target = null;
            target = (org.apache.xmlbeans.XmlBoolean)get_store().find_attribute_user(ITALIC$12);
            if (target == null)
            {
                target = (org.apache.xmlbeans.XmlBoolean)get_store().add_attribute_user(ITALIC$12);
            }
            target.set(italic);
        }
    }
    
    /**
     * Unsets the "italic" attribute
     */
    public void unsetItalic()
    {
        synchronized (monitor())
        {
            check_orphaned();
            get_store().remove_attribute(ITALIC$12);
        }
    }
    
    /**
     * Gets the "bold" attribute
     */
    public boolean getBold()
    {
        synchronized (monitor())
        {
            check_orphaned();
            org.apache.xmlbeans.SimpleValue target = null;
            target = (org.apache.xmlbeans.SimpleValue)get_store().find_attribute_user(BOLD$14);
            if (target == null)
            {
                return false;
            }
            return target.getBooleanValue();
        }
    }
    
    /**
     * Gets (as xml) the "bold" attribute
     */
    public org.apache.xmlbeans.XmlBoolean xgetBold()
    {
        synchronized (monitor())
        {
            check_orphaned();
            org.apache.xmlbeans.XmlBoolean target = null;
            target = (org.apache.xmlbeans.XmlBoolean)get_store().find_attribute_user(BOLD$14);
            return target;
        }
    }
    
    /**
     * True if has "bold" attribute
     */
    public boolean isSetBold()
    {
        synchronized (monitor())
        {
            check_orphaned();
            return get_store().find_attribute_user(BOLD$14) != null;
        }
    }
    
    /**
     * Sets the "bold" attribute
     */
    public void setBold(boolean bold)
    {
        synchronized (monitor())
        {
            check_orphaned();
            org.apache.xmlbeans.SimpleValue target = null;
            target = (org.apache.xmlbeans.SimpleValue)get_store().find_attribute_user(BOLD$14);
            if (target == null)
            {
                target = (org.apache.xmlbeans.SimpleValue)get_store().add_attribute_user(BOLD$14);
            }
            target.setBooleanValue(bold);
        }
    }
    
    /**
     * Sets (as xml) the "bold" attribute
     */
    public void xsetBold(org.apache.xmlbeans.XmlBoolean bold)
    {
        synchronized (monitor())
        {
            check_orphaned();
            org.apache.xmlbeans.XmlBoolean target = null;
            target = (org.apache.xmlbeans.XmlBoolean)get_store().find_attribute_user(BOLD$14);
            if (target == null)
            {
                target = (org.apache.xmlbeans.XmlBoolean)get_store().add_attribute_user(BOLD$14);
            }
            target.set(bold);
        }
    }
    
    /**
     * Unsets the "bold" attribute
     */
    public void unsetBold()
    {
        synchronized (monitor())
        {
            check_orphaned();
            get_store().remove_attribute(BOLD$14);
        }
    }
    
    /**
     * Gets the "strikeout" attribute
     */
    public boolean getStrikeout()
    {
        synchronized (monitor())
        {
            check_orphaned();
            org.apache.xmlbeans.SimpleValue target = null;
            target = (org.apache.xmlbeans.SimpleValue)get_store().find_attribute_user(STRIKEOUT$16);
            if (target == null)
            {
                return false;
            }
            return target.getBooleanValue();
        }
    }
    
    /**
     * Gets (as xml) the "strikeout" attribute
     */
    public org.apache.xmlbeans.XmlBoolean xgetStrikeout()
    {
        synchronized (monitor())
        {
            check_orphaned();
            org.apache.xmlbeans.XmlBoolean target = null;
            target = (org.apache.xmlbeans.XmlBoolean)get_store().find_attribute_user(STRIKEOUT$16);
            return target;
        }
    }
    
    /**
     * True if has "strikeout" attribute
     */
    public boolean isSetStrikeout()
    {
        synchronized (monitor())
        {
            check_orphaned();
            return get_store().find_attribute_user(STRIKEOUT$16) != null;
        }
    }
    
    /**
     * Sets the "strikeout" attribute
     */
    public void setStrikeout(boolean strikeout)
    {
        synchronized (monitor())
        {
            check_orphaned();
            org.apache.xmlbeans.SimpleValue target = null;
            target = (org.apache.xmlbeans.SimpleValue)get_store().find_attribute_user(STRIKEOUT$16);
            if (target == null)
            {
                target = (org.apache.xmlbeans.SimpleValue)get_store().add_attribute_user(STRIKEOUT$16);
            }
            target.setBooleanValue(strikeout);
        }
    }
    
    /**
     * Sets (as xml) the "strikeout" attribute
     */
    public void xsetStrikeout(org.apache.xmlbeans.XmlBoolean strikeout)
    {
        synchronized (monitor())
        {
            check_orphaned();
            org.apache.xmlbeans.XmlBoolean target = null;
            target = (org.apache.xmlbeans.XmlBoolean)get_store().find_attribute_user(STRIKEOUT$16);
            if (target == null)
            {
                target = (org.apache.xmlbeans.XmlBoolean)get_store().add_attribute_user(STRIKEOUT$16);
            }
            target.set(strikeout);
        }
    }
    
    /**
     * Unsets the "strikeout" attribute
     */
    public void unsetStrikeout()
    {
        synchronized (monitor())
        {
            check_orphaned();
            get_store().remove_attribute(STRIKEOUT$16);
        }
    }
    
    /**
     * Gets the "underline" attribute
     */
    public boolean getUnderline()
    {
        synchronized (monitor())
        {
            check_orphaned();
            org.apache.xmlbeans.SimpleValue target = null;
            target = (org.apache.xmlbeans.SimpleValue)get_store().find_attribute_user(UNDERLINE$18);
            if (target == null)
            {
                target = (org.apache.xmlbeans.SimpleValue)get_default_attribute_value(UNDERLINE$18);
            }
            if (target == null)
            {
                return false;
            }
            return target.getBooleanValue();
        }
    }
    
    /**
     * Gets (as xml) the "underline" attribute
     */
    public org.apache.xmlbeans.XmlBoolean xgetUnderline()
    {
        synchronized (monitor())
        {
            check_orphaned();
            org.apache.xmlbeans.XmlBoolean target = null;
            target = (org.apache.xmlbeans.XmlBoolean)get_store().find_attribute_user(UNDERLINE$18);
            if (target == null)
            {
                target = (org.apache.xmlbeans.XmlBoolean)get_default_attribute_value(UNDERLINE$18);
            }
            return target;
        }
    }
    
    /**
     * True if has "underline" attribute
     */
    public boolean isSetUnderline()
    {
        synchronized (monitor())
        {
            check_orphaned();
            return get_store().find_attribute_user(UNDERLINE$18) != null;
        }
    }
    
    /**
     * Sets the "underline" attribute
     */
    public void setUnderline(boolean underline)
    {
        synchronized (monitor())
        {
            check_orphaned();
            org.apache.xmlbeans.SimpleValue target = null;
            target = (org.apache.xmlbeans.SimpleValue)get_store().find_attribute_user(UNDERLINE$18);
            if (target == null)
            {
                target = (org.apache.xmlbeans.SimpleValue)get_store().add_attribute_user(UNDERLINE$18);
            }
            target.setBooleanValue(underline);
        }
    }
    
    /**
     * Sets (as xml) the "underline" attribute
     */
    public void xsetUnderline(org.apache.xmlbeans.XmlBoolean underline)
    {
        synchronized (monitor())
        {
            check_orphaned();
            org.apache.xmlbeans.XmlBoolean target = null;
            target = (org.apache.xmlbeans.XmlBoolean)get_store().find_attribute_user(UNDERLINE$18);
            if (target == null)
            {
                target = (org.apache.xmlbeans.XmlBoolean)get_store().add_attribute_user(UNDERLINE$18);
            }
            target.set(underline);
        }
    }
    
    /**
     * Unsets the "underline" attribute
     */
    public void unsetUnderline()
    {
        synchronized (monitor())
        {
            check_orphaned();
            get_store().remove_attribute(UNDERLINE$18);
        }
    }
    
    /**
     * Gets the "color" attribute
     */
    public java.lang.String getColor()
    {
        synchronized (monitor())
        {
            check_orphaned();
            org.apache.xmlbeans.SimpleValue target = null;
            target = (org.apache.xmlbeans.SimpleValue)get_store().find_attribute_user(COLOR$20);
            if (target == null)
            {
                return null;
            }
            return target.getStringValue();
        }
    }
    
    /**
     * Gets (as xml) the "color" attribute
     */
    public org.apache.xmlbeans.XmlString xgetColor()
    {
        synchronized (monitor())
        {
            check_orphaned();
            org.apache.xmlbeans.XmlString target = null;
            target = (org.apache.xmlbeans.XmlString)get_store().find_attribute_user(COLOR$20);
            return target;
        }
    }
    
    /**
     * True if has "color" attribute
     */
    public boolean isSetColor()
    {
        synchronized (monitor())
        {
            check_orphaned();
            return get_store().find_attribute_user(COLOR$20) != null;
        }
    }
    
    /**
     * Sets the "color" attribute
     */
    public void setColor(java.lang.String color)
    {
        synchronized (monitor())
        {
            check_orphaned();
            org.apache.xmlbeans.SimpleValue target = null;
            target = (org.apache.xmlbeans.SimpleValue)get_store().find_attribute_user(COLOR$20);
            if (target == null)
            {
                target = (org.apache.xmlbeans.SimpleValue)get_store().add_attribute_user(COLOR$20);
            }
            target.setStringValue(color);
        }
    }
    
    /**
     * Sets (as xml) the "color" attribute
     */
    public void xsetColor(org.apache.xmlbeans.XmlString color)
    {
        synchronized (monitor())
        {
            check_orphaned();
            org.apache.xmlbeans.XmlString target = null;
            target = (org.apache.xmlbeans.XmlString)get_store().find_attribute_user(COLOR$20);
            if (target == null)
            {
                target = (org.apache.xmlbeans.XmlString)get_store().add_attribute_user(COLOR$20);
            }
            target.set(color);
        }
    }
    
    /**
     * Unsets the "color" attribute
     */
    public void unsetColor()
    {
        synchronized (monitor())
        {
            check_orphaned();
            get_store().remove_attribute(COLOR$20);
        }
    }
}
